package com.huawang.mdesign.model.service.request;

import com.huawang.business.constants.ParamErrorConstants;
import com.huawang.business.dto.ProjectIdDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;

@Data
public class CreateModelByLibraryDTO extends ProjectIdDTO {

    @Schema(title = "模型库项目id")
    @NotBlank(message = ParamErrorConstants.MODEL_LIBRARY_PROJECT_ID)
    private String modelLibraryProjectId;

    @Schema(title = "模型库模型id")
    @NotBlank(message = ParamErrorConstants.MODEL_LIBRARY_INSTANCE_ID)
    private String modelLibraryInstanceId;

    @Schema(title = "项目id")
    @NotBlank(message = ParamErrorConstants.NO_PROJECT_ID)
    private String projectId;

    @Schema(title = "新模型生成目录id")
    @NotBlank(message = ParamErrorConstants.NO_TARGET_INSTANCE_ID)
    private String targetInstanceId;

    @Schema(title = "模型移动到包，包模型id(优先级比targetInstanceId高)")
    private String packageId;

    @Schema(title = "模型id")
    private String instanceId;

    @Schema(title = "数据类型")
    private String dataType;

    @Schema(title = "属性值是否为集合")
    private Boolean isMultiplicity;

    @Schema(title = "属性唯一标识")
    private String key;

    @Schema(title = "更新方法名")
    private String updateMethod;
}
